// Number  数值  整数 小数
// String  字符串  （字符） '单引号'或"双引号"
// Boolean  true/false
// null  没有
// undefined 没有赋值就是他  未定义
//  object 对象  类型
// symbol es6


var a;
console.log(typeof a);
//object: 正则表达式 数组  字面量类型(json对象)
//  function: 方法

var a={
    //a就是json对象  网络传输格式
    //json  xml 数据传输 
    //序列化 内存没法直接接受的，后台用的多 ； 反序列化 能直接接受的
    // JSON.stringify()
    // JSON.parse
}
var stu={
    id:10001,
    name:"张三"
}
console.log(stu.id);
var stu2 =JSON.parse('{"id":1001,"name":"张三"}')
console.log(stu2.id);
//块级作用域
var a=10;
{
    a=23;
}
console.log(a);
// + - * /
var a =3-"1";
console.log(a);
//结果为2

var a=0.1+0.2
console.log(a);
//0.30000000000000004
// 存小数出问题  把小数转换为整数  二进制问题
// 小数 精度问题
var a =(0.1*10+0.2*10)/10
console.log(a);
// 没有% 余数这一说
// = == === 赋值 只看值 全等于绝对等于类型和值
console.log(a=2);
console.log(a=="2");
console.log(a==="2");
console.log(a===2);

// parseFloat
// parseInt 转化  取整 81.5  81 不是四舍五入
// isNaN    not a Number  取反  


var a =parseInt("86a.99")
console.log(a) //86
var a =parseInt("8a6.99")
console.log(a) //8
//四舍五入
var a =parseInt(86.99+0.5)
console.log(a) //87

//函数         参数序列 
function sum(a,b){
    return a+b;
    // arguments  参数数组 用户传的值  伪数组  有下标可以当数组来用  对象{}
}
var a=sum(3,4)
var a=sum(3,4,5)
console.log(a)//没有返回类型

//数组
var arr=new Array(2);
arr[0]=1;
arr[1]=2;
arr[2]=2;
console.log(arr)  //array(2) 2 无意义 
var arr=["xiao",1,2,function(){}] //var 没有严格类型 可以放任意类型
console.log(arr)

// arr.shift()  删除第一个
// arr.unshift()
// arr.push()
// arr.pop()

arr=[1,2,3,4,5]
// arr.shift()//删第一个括号内没用
// arr.unshift(3)//括号内是啥加啥加最前面
//他们都有返回值 返回值为操作的那个数
// arr.splice(2,1) 下标为2 删除1个
// 开始位数  删除个数  后面所有数据为添加数据
arr.splice(2,1,8,9) //12345->128945
console.log(arr)

